1. Field of the Invention
This invention relates to multiprocessor computer systems and more particularly to storage serialization apparatus for enabling the multiprocessors to concurrently execute instructions.
The invention finds particular utility in a tightly coupled multiprocessor computer system having virtual storage.
2. Description of the Prior Art
A storage access serialization mechanism, as distinguished from a storage protection mechanism, operates in a manner where if two or more processors are attempting to update the same storage location, the modification by one processor is not lost by simultaneous modification by another processor. One processor is allowed to complete its storage access of the storage location being simultaneously accessed and all other processors are locked out from accessing that location until the granted access is complete. In a multiprocessor system there can be an active task for each processor with each independently and asynchronously executing an instruction stream without communication between the processors at the instruction level. If all or most of the instructions executing require serialization of access of the entire storage, performance approaches that of a uniprocessor computing system.
Serialization mechanisms in the past have restricted access of the entire storage to one processor during execution of an instruction. Because of this, the performance of the multiprocessor system is severely impacted. Prior art of this type is represented by an article entitled, "Shared Storage For Multiple Processors" published in the IBM Technical Disclosure Bulletin, Volume 23, No. 5, dated October 1980, pages 1801-1804 inclusive. This contrasts to the present invention where all instructions when fetching operands from storage impose locks on pages and while a lock is placed on the operands of one instruction by a processor, the other processors can continue instruction execution without any delays if different pages in storage are being accessed. It is only when a page is to be accessed and another processor already has a lock on that page that execution delays are encountered. It is unnecessary for the programmer to program special locking instructions to ensure the integrity or atomicity of an instruction.
Prior art which protects storage locations from unauthorized access is represented by U.S. Pat. No. 3,264,515 for Memory Protection System by R. P. Case, et al., dated Aug. 2, 1966. The present invention does not provide for or preclude a protected area of storage. There is no provision to prevent an instruction stream from accessing unauthorized data. The present invention provides a serialization function whereby when one or more processors are attempting to access the same storage location at the same time, one processor is locked out until the other completes its access.